package com.hundsun.cprs.yyt.util.converters;

import java.util.Date;

import org.apache.commons.beanutils.converters.AbstractConverter;
import org.apache.commons.lang.time.DateFormatUtils;

/**
 * 扩展common-beanutil StringConverter
 * 支持 java.util.Date 转换为特定格式的字符串类型
 * @date 2018年6月28日
 */
public class StringExtConverter extends AbstractConverter {
    
    public StringExtConverter(){
        super();
    }
    
    public StringExtConverter(Object defaultValue){
        super(defaultValue);
    }

    @Override
    protected Object convertToType(Class type, Object value) throws Throwable {
        return value.toString();
    }
    
    @Override
    protected String convertToString(Object value) throws Throwable {
        if(value.getClass().isAssignableFrom(java.util.Date.class)){
            return DateFormatUtils.format((Date)value, "yyyy-MM-dd HH:mm:ss");
        }
        return super.convertToString(value);
    }

    @Override
    protected Class getDefaultType() {
        return String.class;
    }



}
